1. Field of the Invention
The present invention relates generally to optical data storage. In particular, synchronizing data sectors in a multilevel optical data storage system is disclosed.
2. Relationship to the Art
In order to increase the capacity and speed of optical data storage systems, multilevel optical data storage systems have been developed. Note that in this specification, the term “multilevel” refers to more than two levels. In a traditional optical data storage system, reflectivity of the recording medium is modulated between two states. The density of data recorded on an optical recording medium can be increased by modulating the reflectivity of the optical recording medium into more than two states.
Binary optical data storage systems employ special synchronization patterns at various locations within each sector of data to determine the correct alignment for decoding data. One can choose synchronization patterns that violate some constraint of the underlying code so that they cannot appear as part of normal data. This minimizes the number of false detections of synchronization sequences. For example, in a system with a (d, k) run-length limit (RLL) binary code, at least d, and at most k, zero channel bits must appear between each pair of one channel bits. Thus one can use a synchronization pattern with a run of k+1 zero channel bits between a pair of one channel bits.
Alternatively, one can use an unusual synchronization pattern and some special procedures to guarantee that the data never contains the synchronization pattern. In a CD optical data storage system, data is encoded with eight-fourteen modulation (EFM) code, which is a (2,10) RLL code that encodes each data byte (eight bits) into a 14-bit codeword. The CD system writes the synchronization pattern {100000000001000000000010} at the start of each frame of data. This synchronization pattern contains two adjacent runs of 10 zero bits between pairs of one bits, making it distinct and easy for the CD reader to locate within a frame of data. Although it is unusual, it still obeys the run-length limits of the EFM code and hence could occur within a frame of random data. However, when encoding the user data, the CD system adds three merge bits in front of each 14-bit codeword in order to maintain RLL across pairs of codewords and to apply DC control. The three merge bits are chosen so that the synchronization pattern can never appear in the data sequence.
Since binary optical data storage systems use RLL codes, they can use simple synchronization patterns that violate the RLL constraints (usually the upper RLL). However, in a multilevel system that uses a code with an upper RLL, because of the finer spacing of levels, a synchronization pattern that violates the RLL constraint might be difficult to distinguish from a valid data sequence of the same length that contains a small transition between two short runs. For example, if there are eight levels (0 to 7) in the system and the upper RLL is 10 symbols, then the synchronization pattern {7000000000007} is very similar to {7000001000007}, whereas the equivalent binary case {7000007000007} of two short runs combined together is much more distinct.
Moreover, a multilevel system may not even use a code with an upper RLL. A multilevel system may use a trellis or MSN code (see, for example, copending U.S. patent application Ser. No. 09/369,746, entitled “Coding System And Method For Partial Response Channels” filed Aug. 6, 1999 which is herein incorporated by reference, which is much more complex than a RLL code and may or may not have an upper run-length limit. Because of the complexity of trellis and MSN codes, it may not be straightforward to create a short synchronization pattern that is very distinct from every valid data sequence of the same length. A long synchronization pattern will result in a complex synchronization detector. In addition, a synchronization pattern for one code probably will not be a good choice of synchronization pattern for other codes.
In view of the foregoing, there is a need for methods for synchronizing data in a multilevel optical data storage system that can be used with a wide variety of codes, that do not depend on the code having an upper RLL, and that are computationally simple.